package com.example.service;

import com.example.common.Result;
import com.example.dto.MenuDTO;
import com.example.vo.MenuDocumentationVO;
import com.example.vo.MenuManagementVO;

import java.util.List;

public interface MenuManagementService {
    
    /**
     * 获取所有菜单（树形结构）
     */
    Result<List<MenuManagementVO>> getAllMenusTree();
    
    /**
     * 获取所有菜单（平铺结构）
     */
    Result<List<MenuManagementVO>> getAllMenusList();
    
    /**
     * 根据ID获取菜单详情
     */
    Result<MenuManagementVO> getMenuById(Long id);
    
    /**
     * 新增菜单
     */
    Result<Void> addMenu(MenuDTO menuDTO);
    
    /**
     * 更新菜单
     */
    Result<Void> updateMenu(Long id, MenuDTO menuDTO);
    
    /**
     * 删除菜单
     */
    Result<Void> deleteMenu(Long id);
    
    /**
     * 获取父级菜单选项（用于下拉选择）
     */
    Result<List<MenuManagementVO>> getParentMenuOptions();
    
    /**
     * 获取菜单说明文档数据
     */
    Result<MenuDocumentationVO> getMenuDocumentation();
} 